//axios的配置文件,请求头、拦截器……等
import axios from 'axios';
import { MessageBox } from 'element-ui';


import router from './router'


const http = axios.create({
    //1.配置公用的前缀
    // baseURL: '/api',
    baseURL: '/api',
    //2.超时时间ms
    timeout: 1000,
});

//拦截器
// 请求拦截器
http.interceptors.request.use(config => {
    if (config.url != '/userLogin') {
        // 登录以外的接口，都需要验证token
        // token可以从state中取，也可以在locaStorage中取
        config.headers.authorization = JSON.parse(localStorage.getItem('userInfo')).token
    }
    return config
})
// 响应拦截器
http.interceptors.response.use(data => {
    if (data.data.code === 403) {

        // 直接跳转就会闪屏
        // router.push("/login")

        // 方式二，弹框提示再推出
        MessageBox.alert('您的登录已过期,请重新登陆！', '登录超时', {
            confirmButtonText: '去登陆',
            callback: () =>
                // 1.方法一:导入自己的router文件 import  router from './router'
                router.push("/login")
            // 2.使用原生的方法跳转
            //  window.location.href = '/login'
        })
    }
    return data.data
})


export default http





